package Day009_Map_斗地主_冒泡排序.demo05_Map案例;

/*
输入一个字符串中每个字符出现次数
aaBBBcccc%%&&&:
                a:2
                B:3
                c:4
                %:2
                &:3

1.创建Map集合,键类型Character,值类型Integer
2.遍历字符串的每个字符
3.循环获取每个字符,作为集合的键
4.判断每个键是否存在
5.键不存在,存入值为1
6.键存在,获取值,值++,覆盖

*/

import java.util.HashMap;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //创建集合,键类型Character,值类型Integer
        HashMap<Character, Integer> map = new HashMap<>();

        //Scanner
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个字符串:");
        String str = sc.next();

        //循环获取每个字符,作为集合的键
        for (int i = 0; i < str.length(); i++) {
            //获取每个字符,作为集合的键
            char Key = str.charAt(i);
            //判断每个键是否存在
            boolean b = map.containsKey(Key);
            //如果不存在
            if (b == false) {
                map.put(Key, 1); //存入键,存入值为1

            //如果键存在了
            } else {
                //获取对应的值,值++,覆盖添加
                Integer Value = map.get(Key);
                map.put(Key, ++Value); //不能用Value++
            }
        }
        System.out.println(map);
    }
}
